"""
342. 4的幂
简单
相关标签
premium lock icon
相关企业
给定一个整数，写一个函数来判断它是否是 4 的幂次方。如果是，返回 true ；否则，返回 false 。

整数 n 是 4 的幂次方需满足：存在整数 x 使得 n == 4x



示例 1：

输入：n = 16
输出：true
示例 2：

输入：n = 5
输出：false
示例 3：

输入：n = 1
输出：true


提示：

-231 <= n <= 231 - 1
"""


class Solution:
    def isPowerOfFour(self, n: int) -> bool:
        print(n.bit_length())
        return n.bit_count()==1 and n.bit_length()%2==1

    def isPowerOfFour_res1(self, n: int) -> bool:
        return n > 0 and n & (n - 1) == 0 and n & 0x55555555 > 0


if __name__ == '__main__':
    print(Solution().isPowerOfFour(16))